package com.smart.mapper;

import com.smart.domain.Topic;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TopicMapper {

    void save(Topic topic);

    void remove(Topic topic);

    void update(Topic topic);

    Topic get(int topicId);

    /**
     * 返回某个版块的总条数
     */
    int getTopicCountByBoard(int boardId);

    /**
     * 分页查询
     * 给Service里面的这个方法使用，Page getPagedTopics(int boardId, int pageNo, int pageSize);
     *
     * @param boardId 版块id
     * @param start   limit开始
     * @param end     limit结束
     */
    List<Topic> selectPagedTopicsByBoard(@Param("boardId") int boardId, @Param("start") int start, @Param("end") int end);

    /**
     * 返回某个标题下的topic数目
     */
    int getTopicCountByTitle(String title);

    /**
     * 按照标题分页模糊查询
     * 给Service里面的这个方法使用，Page queryTopicByTitle(String title,int pageNo, int pageSize);
     *
     * @param title 标题
     * @param start limit开始
     * @param end   limit结束
     */
    List<Topic> selectPagedTopicsByTitle(@Param("title") String title, @Param("start") int start, @Param("end") int end);


}
